home *** CD-ROM | disk | FTP | other *** search
/ Internet Tools (InfoMagic) / Internet Tools.iso / ip / manage / condor / Condor-World.Archive.Z / Condor-World.Archive
Text File  |  1994-03-02  |  27KB  |  621 lines

  1. Subject: Condor mailing list
  2. From: miron@chevre.cs.wisc.edu (Miron Livny)
  3. Date: Tue, 29 Dec 92 19:39:23 -0600
  4.  
  5. We are proud to announce the birth of yet another mailing list - 
  6. the condor_world mailing list (condor-world@cs.wisc.edu). 
  7. As all of us know, mailing lists are a mixed blessing. We were 
  8. playing with the idea of starting such a list for more than a year. 
  9. So far we were able to control our desire to take advantage 
  10. of the unutilized capacity of the the inter-net to send Condor 
  11. related mail.  However, the interest in Condor and the number 
  12. of active Condor pools have reached a point where we could not 
  13. say no any more. The bad part of the news is that not only did 
  14. we establish such a list, we included your name in the list.  
  15. You are on the list since at one time or other you expressed 
  16. interest in Condor, and (maybe) have asked to be on the Condor 
  17. mailing list.  There is also a good part to the story, you can 
  18. get off the list.  Just send a note to "owner-condor-world@cs.wisc.edu".
  19.  
  20. Condor_world should serve as a means to exchange information and 
  21. experience relating to Condor.  We would also like to use it 
  22. as a channel for comments, wishes and complaints regarding the 
  23. system.  As we continue to work on the problem of batch processing 
  24. in a cluster of workstation, we would like to know what *you* think 
  25. about the system. Maybe the best way to get started, would be for 
  26. each of you to tell us why and how you got involved with batch 
  27. processing on a cluster of workstations. 
  28.  
  29.  
  30. Mike Litzkow and Miron Livny.
  31.  
  32. =================================================================
  33.  
  34. Subject: Apology
  35. From: condor (Mike Litzkow)
  36. Date: Tue, 05 Jan 93 10:58:06 -0600
  37.  
  38. Dear Colleagues,
  39.  
  40. First I want to apologize to all of you who have been receiving
  41. multiple copies of items sent to the "condor-world" mailing list.
  42. We are working on the problem, and hopefully you will only get
  43. one copy of this message.
  44.  
  45. Also I would like to point out that "condor-world" is an unmoderated
  46. mailing list.  Every message sent to "condor-world" is rebroadcast
  47. to the whole list.  This makes it inappropriate to send requests
  48. to get on or off the list or notes about technical problems like
  49. receiving multiple copies to "condor-world".  Please use
  50. "condor-world-request" for any messages you do not want to broadcast
  51. to the whole group.
  52.  
  53. best regards,
  54. -- mike
  55.  
  56. =================================================================
  57.  
  58. Subject: Condor on HP Snakes
  59. From: condor (Mike Litzkow)
  60. Date: Fri, 22 Jan 93 13:57:45 -0600
  61.  
  62. Dear Colleagues,
  63.  
  64. An alpha test version of Condor for HP 700 series machines (Snakes), is
  65. now available on our ftp server "ftp.cs.wisc.edu".  This code is
  66. running on a few machines in our local environment, but is largely
  67. untested.
  68.  
  69. Bugs
  70.     We do know of one "bug" already.  HP executables submitted to
  71.     the condor pool from other platforms will not work becuase of
  72.     incompatibilities between the system call sets defined by HP-UX
  73.     and other UNIX variants.  HP executables submitted from HP's
  74.     should work.
  75.  
  76. Hints for Building
  77.     For building condor, both the "imake" and the "cpp" which came
  78.     with your system should be fine.  We don't recommend using the
  79.     versions supplied in the "imake_tools" directory.  The shell
  80.     script "mdepend.sh" in the "GENERIC" directory will be
  81.     needed.  Don't use the version of "makedepend" that might
  82.     have come with your system.
  83.  
  84. best regards,
  85. -- mike
  86.  
  87. P.S.  I will be at the USENIX conference in San Diego most of next week.  
  88. I will not be answering mail during that time, but if any of you plan
  89. to be there and would like to look me up in person, please do so.  I
  90. am staying at the conference hotel.
  91.  
  92. =================================================================
  93.  
  94. Subject: Condor on Silicon Graphics Workstations
  95. From: condor (Mike Litzkow)
  96. Date: Mon, 01 Mar 93 11:54:00 -0600
  97.  
  98. Friends,
  99.  
  100. An "alpha" release of Condor for the Silicon Graphics workstations running
  101. IRIX 4.X is now available.  This has been tested at two sites on IRIX 4.0.5.F 
  102. systems, but will probably run on other IRIX 4 systems as well.  This
  103. release is called "Condor_4.1.irix.alpha" and is available by anonymous
  104. ftp from "ftp.cs.wisc.edu" as usual.  We are interested in feedback on
  105. your experiences with building, installing, and using this system.  If you
  106. have problems, let me know and I will try to help - but please be patient.
  107. We do not have an SGI machine here which we can place in our Condor pool
  108. for extensive testing, so we are completely dependent on the good will
  109. of others for this work.  A few notes which should help with the build
  110. process follow.
  111.  
  112. cheers,
  113. -- mike
  114.  
  115. Notes:
  116. 1. Please make a "condor" user and place a "CONDOR" directory
  117. in condor's home directory on your build machine.  Extract
  118. the tar file there.
  119.  
  120. 2. You will need to use "imake" in the build process.  You
  121. should use the imake already on your system for this, don't
  122. build it from my source.  I think you will find this in
  123. "/usr/bin/X11/imake".  Imake will use "cpp" do part of its
  124. work.  The particular version of cpp used can be altered by
  125. setting an environment variable called "IMAKECPP".  The SGI
  126. supplied "cpp" is fine, so don't set this environment
  127. variable.  The installation instructions tell you to set up an
  128. alias for "imake".  Make sure you do that.
  129.  
  130. 3. You will need to use a "make depend" program in the build
  131. process.  Don't use the "makedepnd" supplied in the X
  132. distribution.  Use the shell script in the CONDOR/GENERIC
  133. directory.  You can do this by setting
  134.         #define MkDepend $(TOP)/GENERIC/mdepend.sh in your
  135. "config/SGI_IRIX405.cf" file.
  136.  
  137. 4. On SGI systems (and possibly others) you can use an environment
  138. variable (SHELL) to control which shell will be used by "make".
  139. The Condor Makefiles expect this to be the bourne shell "/bin/sh".
  140. Either "unsetenv" this variable or set it to /bin/sh during
  141. your Condor building.
  142.  
  143. ==============================================================
  144.  
  145. Subject: Condor on Silicon Graphics
  146. From: condor (Mike Litzkow)
  147. Date: Wed, 26 May 93 09:31:27 -0600
  148.  
  149. Friends,
  150.  
  151. Our alpha test of Condor on Silicon Graphics 4.0.5 machines has turned up
  152. a few problems.  It seems that due to differences in the compiler technology,
  153. the checkpointing mechanism works only on some versions of these
  154. machines.  Feedback so far indicates that the alpha code is working
  155. on the IP7 and IP20 systems, but not on the IP12 and IP17s.  You can
  156. determine the type of system you have by running "uname -a".  I am sorry,
  157. but I don't know the mapping between the common names like "Indigo" and
  158. "Crimson" and the "IP" designations.
  159.  
  160. The alpha code is still available from "ftp.cs.wisc.edu" for those of
  161. you who can use it or would like to play with it.  It is unlikely that
  162. we will be able to produce an improved version soon.
  163.  
  164. A few folks have asked about running older versions of condor which had
  165. some code for IRIX 3.3.1, but that was never official and I believe
  166. converting it to work with the IRIX 4* systems would be a very big task.
  167.  
  168. regards,
  169. -- mike
  170.  
  171. ==============================================================
  172.  
  173. Subject: Sun Compatibility Problems
  174. From: condor (Mike Litzkow)
  175. Date: Fri, 04 Jun 93 16:20:42 -0600
  176.  
  177. Friends,
  178.  
  179. We have recently discovered some incompatibilities between executables
  180. built on sparc 10's and other sparc based Suns.  You can determine the
  181. specific types of your Suns by running "uname -m".  The sparc 10's will
  182. say "sun4m" while the others will say either "sun4" or "sun4c".  If all
  183. of your Suns are of the same category, then the problems described here
  184. won't affect you. 
  185.  
  186. Problem 1:
  187. Condor executables built on Sparc 10s cannot run and checkpoint
  188. properly on other sparcs.  Similarly, executables built on other Suns
  189. will not run and checkpoint properly on Sparc 10 systems.  The cause is
  190. a difference in where the user stack is placed in memory on the two
  191. kinds of machines.  The usual symptom is that the user process dies
  192. with a segmentation fault, (signal 11).
  193.  
  194. If you need to run both sparc 10's and other sparcs in the same Condor
  195. pool, you will need to arrange for Condor to view them as two different
  196. machine architectures.  This can be done by changing the "ARCH" macro
  197. in your "condor_config" or "condor_config.local" files.  I would
  198. suggest setting ARCH to "sun4m" on sparc 10's and "sun4" on the
  199. others.  Also the condor libraries will need to be compiled separately
  200. for the two varieties of machines and distributed in a way which will
  201. make the appropriate libraries visible on the proper machines.
  202.  
  203. I believe it is possible to submit jobs to run on "sun4m" machines
  204. from "sun4" machines or the reverse.  The critical point is that the
  205. jobs are linked with a condor library which has been built on the
  206. same type of machine where you want them to run.
  207.  
  208. Problem 2:
  209. Some of the Condor daemons cannot share executable files between the
  210. two kinds of machines.  This is due to a difference in the
  211. implementations of the "kvm" library on the two platforms, and affects
  212. not only Condor, but other system programs like "top" and "ps".  We
  213. know that the "condor_startd" is affected, but other Condor daemons may
  214. be involved as well.  I recommend compiling and distributing completely
  215. separate sets of Condor executables for the two machine types.
  216.  
  217. The good news is that the incompatibilities exist only at the object
  218. code level.  No source code changes are needed.
  219.  
  220. best regards,
  221. -- mike
  222.  
  223. ==============================================================
  224.  
  225. Subject: Condor and Unsupported System Calls
  226. From: condor (Mike Litzkow)
  227. Date: Sun, 20 Jun 93 14:42:17 -0600
  228.  
  229. Friends,
  230.  
  231. There have been a couple of postings to the group lately regarding programs
  232. that do system call which aren't supported by Condor.  There are a fair
  233. number of such sysem calls - pipe, fork, exec, socket, and ioctl to name
  234. a few.  Quite often the programmer is unaware of using the taboo calls
  235. because they are really being executed by some library routine, and
  236. the programmer isn't aware that the call is being made until the Condor
  237. job fails to run.
  238.  
  239. In most cases when a user program attempts such a system call, Condor
  240. will place an error message in the program's standard error file, and
  241. then should terminate the job (more on this later).  In some cases
  242. though, the system call will simply return an error status, and the
  243. user program is free to react as it wants.  We do it this way because
  244. some calls are exercised very frequently by Fortran run time libraries,
  245. and could never complete if Condor terminated them.  An example of
  246. such a call is sigvec().  Most fortran programs will run quite fine
  247. under Condor even though at the beginning they do about 20 sigvecs
  248. which all fail!  In the case of other calls like fork and exec, we feel
  249. it is best to let the user know right away that this program cannot
  250. be run with Condor.
  251.  
  252. It turns out that Condor_4.1.3b (and possibly other versions as well),
  253. has a bug in how the "job terminating" illegal system calls are handled.
  254. The bug is in the "condor_shadow" program, and a fix is attached.  The
  255. bug leads to the program being tried over and over by Condor, even
  256. though it can never run.  In many cases the erroroneous system call
  257. occurs at the very beginning of the program, which means it will execute
  258. only a short time before encountering the problem.  The user runs
  259. "condor_q" many times, but never sees the job in the "Run" state, and
  260. so concludes that Condor is refusing to run the job for some unknown
  261. reason.  I recommend that everyone apply the fix because of the large
  262. potential for confusion.
  263.  
  264. regards,
  265. -- mike
  266.  
  267. =================================================================
  268.  
  269. The bug is in the "condor_shadow.c" file around line 466.  The sequence
  270.  
  271.     if( read(pipe,&msg_type,sizeof msg_type) != sizeof msg_type ) {
  272.             EXCEPT( "Could not read msg_type from child shadow" );
  273.         }
  274.  
  275. should be
  276.  
  277.     if( read(pipe,&msg_type,sizeof msg_type) != sizeof msg_type ) {
  278.             /* the child probably has died */
  279.             break;
  280.         }
  281.  
  282. ==============================================================
  283.  
  284. Subject: Bug Fix
  285. From: condor (Mike Litzkow)
  286. Date: Tue, 06 Jul 93 10:27:52 -0600
  287.  
  288. Friends,
  289.  
  290. We have discovered a bug in the "condor_schedd".  This bug only affects
  291. installations where the condor "log" directory is remotely mounted
  292. via NFS.  (All diskless machines will be in this category, but machines
  293. with disks could be set up this way too.)
  294.  
  295. Description:
  296.     In such an istallation the Condor deamons need to be able to write
  297. to their respective log files, and should do so by running with an
  298. effective uid of "condor" during all logging operations.  In fact all of
  299. the daemons are intended to run with an effective uid of "condor" at
  300. all times except in those few instances when local "root" permission
  301. is required.  This is because at most NFS installations, remote accesses
  302. to files by "root" will be handled as if they were attempted by the
  303. unprivileged user "nobody".  The daemons do need to run with their
  304. euid's set temporarily to "root" at certain times, for example when sending
  305. signals to local processes.  When necessary, the euid is switched between
  306. "root" and "condor" with a pair of routines called "set_condor_euid" and
  307. "set_root_euid".  The bug in the "condor_schedd" causes it to run
  308. with an euid of "root" all the times, and it is therefore not able to
  309. access remotely mounted log files.
  310.  
  311. Fix:
  312. The routines "create_job_queue" and "mark_jobs_idle" both have calls to
  313. "set_condor_euid" near the top and "set_root_euid" near the bottom.
  314. All 4 of these calls should be eliminated.
  315.  
  316. best regards,
  317. -- mike
  318.  
  319. =============================================================
  320.  
  321. Subject: Sun Checkpointing Problem
  322. From: Mike Litzkow <condor@goya.cs.wisc.edu>
  323. Date: Thu, 22 Jul 93 11:31:10 -0500
  324.  
  325. Friends,
  326.  
  327. Description:
  328.  
  329. Some folks have been having a problem with Condor's being unable to
  330. produce a "core" file on sun4m (Sparc-10) systems.  This prevents
  331. the job from checkpointing, and has the symptom that the job's
  332. "image size" inexplicably jumps to some unreasonably large value.
  333. Once the image size grows very large, Condor will not be able to
  334. find any machines where the job can run, so it will sit in the
  335. queue forever.  So far, the problem has been reported on Sparc-10
  336. systems only, but we are not sure whether it may affect other
  337. Sun systems as well.
  338.  
  339. Detailed Discussion:
  340.  
  341. The problem is related to Sun's use of "holes" in their core files.  These
  342. are large areas in the file which appear as all zero's when the file is
  343. read, but actually take up no space on the disk.  This means that the core
  344. file's virtual size is different from its actual size.  In particular the
  345. virtual size of the stack segment that is dumped is the same as the stack
  346. size *limit* in force at the time of the core dump.  The actual size of the
  347. dumped stack segment depends on the actual number of pages mapped into the
  348. stack segment at dump time.
  349.  
  350. The condor starter wants to allow its user processes to use as many
  351. resources as they desire, so it sets all the limits (including the
  352. STACK) to "infinity".  When it comes time to dump the core, the kernel
  353. must decide whether there is sufficient free disk, but apparently it
  354. (incorrectly) uses the virtual rather than the actual size of the stack
  355. for this calculation.  The result is no core file ever appears.  The
  356. condor_starter then concludes that the core file didn't appear because
  357. there was insufficient disk, and adjusts the process's image size
  358. up to the amount of free disk which exists at the time. 
  359.  
  360. Workaround:
  361.  
  362. The ultimate solution to this problem can only come from Sun, but
  363. you can get things working in most cases by setting a more modest
  364. limit on the user process's stack size.  For most processes 8 megabytes
  365. is a reasonable value to use.  If you choose this figure, then
  366. any user process which needs more than 8 meg of stack will crash.  Also,
  367. checkpointing will still require something over 8 meg of free disk
  368. and will fail on machines with less than that.  To set the limit,
  369. change the code in the file "condor_starter/starter.c" as follows:
  370.  
  371. The line
  372.  
  373.     limit( RLIMIT_STACK, RLIM_INFINITY );
  374.  
  375. becomes
  376.  
  377.     limit( RLIMIT_STACK, 8 * 1024 * 1024 );
  378.  
  379. best regards,
  380. -- mike
  381.  
  382. =============================================================
  383.  
  384. Subject: Condor for HP-UX 9 Available
  385. Date: Mon, 15 Nov 93 10:19:18 -0600
  386. From: condor
  387.  
  388. Hello,
  389.  
  390. A port of CONDOR to the HP PA-RISC machines running HPUX 9.01
  391. is now available, and replaces the previous alpha (broken) version.
  392.  
  393. You can grab a source code tar file via anon ftp from:
  394.   ftp.cs.wisc.edu:/condor/Condor_4.1.hp700source.beta1.tar.Z
  395.  
  396. We hope to soon have another file available which contains
  397. just the HP PA-RISC binaries, to save compiling hassles for folks.
  398. Once its available, we'll send another message.
  399.  
  400. Below is a copy of the README.1ST file from the
  401. HP PA-RISC condor file, which details what has been fixed.
  402.  
  403. I would like to thank everyone who helped out with getting
  404. Condor running on the PA-RISCs.  The steady supply of 
  405. bug reports and suggested fixes was very helpful.  I would
  406. like to especially thank Bret McKee at HP, who helped us
  407. with PA-RISC address queue registers and thus got checkpointing
  408. working properly.
  409.  
  410. -Todd Tannenbaum, just a guy dealing with condor on HP PA-RISCs
  411.  Director of Model Advanced Facility [MAF]
  412.  UW-Madison Computer Aided Engineering Center
  413.  
  414. Here is the README file.
  415. README.1ST:
  416.  
  417. November 11, 1993
  418.  
  419. What you have here is the beta.1 source code to Condor 4.1 for the
  420. HP 9000/700 series of workstations running HPUX 9.01.
  421.  
  422. What is different about this release -vs-  the earlier alpha release 
  423. of Condor for the HP 700?
  424.  
  425.     - Checkpointing now works properly with no segmentation faults :-)
  426.  
  427.     - This version is written for and tested on HPUX 9.01 only.  It has
  428.       never been tested on HPUX 8.07, although I _think_ it will work
  429.       after a few minor changes to get it to compile (and a few changes to
  430.       some of the Imakefiles).  Again, don't let the #defines and HPUX8
  431.       references everywhere fool you.... this release is for HPUX9.01.
  432.  
  433.     - Lots of nonobvious bugs and strange behaviors under HPUX found & fixed.
  434.  
  435.     - Remote time usage reporting should now work correctly
  436.  
  437.     - The MEMORY config file parameter is no longer needed.  Condor will now
  438.       figure out the amount of RAM installed by reading it out of the kernel.
  439.       The MEMORY parameter is only used as a fallback in case of an error.
  440.  
  441. What still needs to be done to the HP 700 port of Condor?
  442.  
  443.     - Submitting jobs from a platform other than an HP does not work yet.
  444.       You must submit your job from an HP 700 in order for it to run properly
  445.       on a condor pool of HP 700s.  As it turns out, very few Condor sites
  446.       care about cross-platform job submitting.  I'll hopefully have this
  447.       working soon.
  448.  
  449.     - None of the documentation/man pages have been updated yet.
  450.  
  451.     - Although there are #defines everywhere for other platforms, this source
  452.       tree will only compile on HPUX.  We are beginning to work on folding 
  453.       the HP source code back into the main Condor platform-independent source.
  454.    
  455.     - The amount of free swap space is still calculated incorrectly.  This 
  456.       is used for optimization, and is not _required_, per se.  Expect it to be
  457.       fixed in the next release.
  458.  
  459. Is there an easier way to figure out how to compile my job for condor?
  460.  
  461.     Here are a few ideas:  
  462.     (1) try out the condor_compile command, located in the condor_compile
  463.         subdirectory.  Read the README located there.  After installing
  464.         condor_compile, you can compile for condor by typing :
  465.            condor_compile <whatever you normally type to create an executeable>
  466.         For instance, if you normally compile by typing "f77 +e +O3 myprog.f",
  467.         typing "condor_compile f77 +e +O3 myprog.f" will result in a
  468.         condor executeable called a.out.condor.  (condor_compile will append
  469.         a ".condor" to whatever your executeable name normally comes out as).
  470.         You can type "condor_compile make myprogram", or "condor_compile
  471.         cc .....", whatever.  condor_compile currently works on HPUX and
  472.         on SunOS 4.1.x.  The whole idea behind condor_compile is a rather
  473.         ugly hack, but condor end-users who just want to use Condor without
  474.         a lecture on linking love it.
  475.     (2) HPUX9.01 supports the "-v" option on most compilers, which displays
  476.         all the options being passed to ld.  Link for condor with the
  477.         exact same options you see when you compile with "-v", but replace
  478.         crt0 and -lc with the condor versions.
  479.     (3) Examine the Makefile in the test suite directories.
  480.  
  481. Enjoy!  We currently have about 80 HP 700s in our pool, and it blows the
  482. doors off of our old Sun SPARC 1 pool.  Happy crunching.
  483.  
  484. Todd Tannenbaum
  485. Director of the Model Advanced Facility (MAF)
  486. University of Wisconsin-Madison Computer Aided Engineering Center 
  487.  
  488.  
  489. Questions/comments/problems/bugs with CONDOR in general?
  490. send internet email to: condor@cs.wisc.edu
  491.  
  492. Questions/comments/problems/bugs *specific to the HP 700 port* of CONDOR?
  493. send internet email to: tannenba@engr.wisc.edu
  494.  
  495.  
  496.  
  497. =============================================================
  498.  
  499. Subject: Condor Job Termination Reports
  500. Date: Thu, 03 Mar 94 11:21:24 -0600
  501. From: condor
  502.  
  503. A number of folks have asked questions regarding the meanings of the
  504. various job termination messages generated by Condor.  Often folks have
  505. thought that the exit status and termination signal numbers are
  506. generated by Condor, and have asked "where in the Condor documentation
  507. are these listed?".  In fact Condor is only reporting to you the
  508. information about how your job terminated which is made available by
  509. the underlying operating system (Unix).
  510.  
  511. Following are a few tips on understanding process termination which
  512. may be helpful to those of you not already intimate with these
  513. details.
  514.  
  515. best regards,
  516. -- mike
  517.  
  518. To understand this information, you first need to know that every Unix
  519. process will terminate in one of two ways - "normally", or
  520. "abnormally".
  521.  
  522. Normal termination
  523.     A process is said to terminate "normally" when it calls the exit()
  524.     function, or when the function main() returns.  In either case it
  525.     is possible for the application programmer to provide a number
  526.     called the "exit status".  If your program terminates by calling
  527.     exit(), then the status is an integer argument to that function.
  528.     If your program terminates by reaching the end of main(), then the
  529.     status is the return value of that function.  For example:
  530.  
  531.     exit( 0 );
  532.     or
  533.     return 0;
  534.  
  535.     One aspect which is sometimes confusing is what happens if your
  536.     application fails to provide a status value at exit time by calling
  537.     exit() with no arguments, reaching the end of main() with a return
  538.     statement with no value, or reaching the end of main() with no
  539.     return statement.  In such a case, the exit status is "undefined" -
  540.     in other words some value will be reported, but it is meaningless.
  541.  
  542.     Another aspect which is sometimes confusing is the size of the exit
  543.     status.  In general only 8 bits are allowed for this purpose.  On
  544.     most platforms you can then think of the exit status as an unsigned
  545.     char, i.e. it can only hold values [0 - 255].  A common mistake is
  546.     calling "exit( -1 )" in case of an error.  The exit status in this
  547.     case will be reported as 255!
  548.  
  549.     When your program exits normally the message from Condor will
  550.     look something like
  551.  
  552.     Your Condor job
  553.         a.out arg_1 arg_2 arg_3
  554.     exited with status 73.
  555.  
  556.     In such a case, your system administrator cannot answer the
  557.     question "what does exit status 73 mean?".  That is the exit status
  558.     returned by your code, which as discussed above, may or may not be
  559.     meaningful.
  560.  
  561.     There are a couple of special cases to consider.  First you should
  562.     realize that your program contains a mixture of your own code,
  563.     Condor supplied code, and other library code.  If some unexpected
  564.     event causes your program to exit while executing the Condor
  565.     supplied code, the exit status is generally 4.  Also some versions
  566.     of Condor take the exit status 255 (remember -1), to have special
  567.     meaning.  We recommend that your code always provide a meaningful
  568.     exit status, and that the values 4 and 255 not be used for this
  569.     purpose.  (It is traditional to return a status of zero when a
  570.     program terminates correctly, and non-zero when it exits with an
  571.     error.)
  572.  
  573.     Finally, you may wonder why you don't see these "exit status"
  574.     numbers when you run your job outside of Condor.  In fact they do
  575.     exist, and can be found in the shell variable $status, which is
  576.     updated after every shell command.  For example
  577.  
  578.     ls /usr; echo $status
  579.  
  580.     will run the "ls" command, and then print its exit status.
  581.  
  582. Abnormal Termination
  583.  
  584.     A program is said to have terminated "abnormally" if it is killed
  585.     by being sent one of a set of signals which causes termination, and
  586.     that signal is not being blocked, caught, or ignored.  In many
  587.     cases these "terminating" signals will also cause a core file to be
  588.     generated.  Such an untimely death can happen to both Condor and
  589.     non-Condor processes, and is generally reported by the shell - for
  590.     example the ever popular
  591.  
  592.     Bus error (core dumped)
  593.  
  594.     Note that the core dump will not happen if you have set a
  595.     "coredumpsize" limit too small to allow it, or if your file system
  596.     doesn't have enough space.
  597.  
  598.     When your Condor process is killed by such a signal the message
  599.     will look something like
  600.  
  601.     Your Condor job
  602.         a.out arg_1 arg_2 arg_3
  603.     was killed by signal 10.
  604.  
  605.     There may also be a clause telling you that you have a core dump,
  606.     and the name of the core file.  The core file will not appear if
  607.     there was insufficient file system space on either the executing
  608.     machine or your machine, or you have asked not to get core files
  609.     (see condor_submit(1) for details).  In this case Condor reports
  610.     the signal as "number 10", but does not translate the number to the
  611.     string "Bus error".  This is because such translation is generally
  612.     not portable across various Unix implementations.  The meanings of
  613.     the signals are defined in the header file <signal.h>.
  614.  
  615.     Note that the core file may be useful in determining what caused
  616.     the untimely death of your process, and in particular whether it
  617.     was executing your code or Condor code at the time of the event.
  618.     It would thus be bad form to remove the core right before asking
  619.     your Condor system administrator for help in determining what went
  620.     wrong.
  621.